home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 21 / Cream of the Crop 21 (Terry Blount) (October 1996).iso / doom / dme4bt13.zip / CONCEPTS.TXT < prev    next >
Text File  |  1994-10-01  |  24KB  |  498 lines

  1.                               Important concepts
  2.                               ------------------
  3.  
  4. The first thing any map maker needs to know is the terminalogy used to 
  5. describe everything.  So, here goes:
  6.  
  7. Map:
  8.  
  9.    A map is all the information that describes a single episode/mission. 
  10. Many people like to use the word 'level' instead, however I think that 
  11. 'map' is a better word to use.  I tend to use 'level' to mean the 
  12. difficulty level the player selects when playing doom. 
  13.  
  14. Vertexes:
  15.  
  16.    A vertex is a point in 2D space.  Therefore, a vertex is really an 
  17. ordered pair of map coordinates.  Vertexes appear as dots in DMapEdit 
  18. (if they are shown).
  19.  
  20. Note: Of all the choices of words to use (vertex, point, node, etc) id
  21. software decided to use vertex, and I just decided to follow along with
  22. their terminalogy.  They also call the plural of vertex 'vertexes', and
  23. not 'vertices'.  So, I also used this.
  24.  
  25. Lines:
  26.  
  27.    Lines are straight line segments from one vertex to another.  Lines 
  28. themselves don't have any ordered pair information, and so since 
  29. vertexes do, all lines must run between 2 vertexes.  Lines are used for 
  30. walls in Doom, but they can also be used for other things, as explained 
  31. later in this file.
  32.  
  33. Linedefs:
  34.  
  35.    A linedef is short for 'line definition', and is the information that 
  36. describes a line.  Basically, lines and linedefs are the same thing.
  37.  
  38. Sidedefs:
  39.  
  40.    All lines have 2 sides to them, a left and a right side.  To 
  41. understand this, keep in mind that even though DMapEdit shows a line as 
  42. 2 dimentional, it is really a vertical plane (no z-axis tilt).  (This 
  43. plane doesn't have any thinkness to it, by the way.)  When you are 
  44. playing Doom, you can see these planes as walls.  Of course, you only 
  45. see one side of this plane at a time.  The other side can't be seen 
  46. because the first side blocks your vision of it.  These are the 2 sides 
  47. of the line I am talking about.
  48.  
  49. Ok, so which side is the left and which is the right?  Well, remember that
  50. lines start at vertex A and end at vertex B.  If you think of yourself as
  51. standing on vertex A and look straight at vertex B, then the 2 sides 
  52. face out to your left and to your right.  The left one is the left 
  53. side, and the right one is the right side.
  54.  
  55. Now, a sidedef (side definition) describes a side of a line.  A line 
  56. may, however, only have 1 sidedef.  If so, then this line is called 
  57. single-sided.  It actually does have 2 sides, of course, but the second 
  58. side isn't defined (no sidedef).  So, here we see a distinction between 
  59. a side and a sidedef.  All lines have 2 sides, but either 0, 1, or 2 
  60. sidedefs.  A line with no sidedefs is possible, and will usually occur 
  61. during map making, however it should never appear in a finished map.  
  62. Doing so will confuse Doom and cause strange things to happen.
  63.  
  64. Sectors:
  65.  
  66.    A sector is a closed polygon area of the map, formed by the lines.  A
  67. sector definition describes the characteristics of this area, including
  68. the floor and ceiling altitudes, floor and ceiling textures (see below),
  69. lighting, etc.  Any time you want any one of these characteristics to 
  70. change, you need to create a new sector for it (to hold the new def)
  71.  
  72. Interestingly enough, the area of a sector is completely determined by 
  73. lines and sidedefs.  But, we'll get into that a little later..
  74.  
  75. Closed polygon:
  76.  
  77.    A closed polygon is a shape formed with 3 or more lines connected to 
  78. that each vertex has at least 2 lines jointed there.  Also, starting at 
  79. any one vertex, you can follow a path of lines, following each one only 
  80. once, and arrive back at that vertex again.  That's the technical 
  81. description; basically it is an object, such as a triangle, square, 
  82. trapazoid, or any other possible configuration of lines.  If it's still 
  83. unclear, there little illustration will hopefully clear it up:
  84.  
  85.  
  86.    +----+      +          +----+         +    +      +   +          +
  87.    |    |     / \        /    /          |    |     /     \        /
  88.    |    |    /   \      /    /           |    |    /       \      /
  89.    |    |   /     \    /    /            |    |   /         \    /
  90.    +----+  +-------+  +----+             +----+  +------+    +--+
  91.  
  92.    Closed polygons, legal sectors        Open polygons, illegel sectors
  93.  
  94. A term I often use for open polygons is 'line dead-end error'.  This is 
  95. from the fact that if you are tracing along the lines, you will hit a 
  96. dead end sooner or later.  Close polygons will allow you to trace along 
  97. the lines forever, around and around..
  98.  
  99. Things:
  100.  
  101.    Things are all objects in the game, such as barrels, dead bodies, 
  102. guns, ammo, players, monsters, player starting points, etc.  Walls, doors, 
  103. elevators, windows, etc are not Things, but rather lines and sectors.  
  104. All Things should lie within sectors, and not be stuck in a solid wall.
  105.  
  106. Blockmap:
  107.  
  108.    This is an internal structure that Doom uses to detect wall 
  109. collisions.  Once you make a new map, a blockmap must be generated 
  110. before it can be used with Doom.  DMapEdit itself doesn't use this 
  111. structure for anything, so you only need to worry about making it right 
  112. before you play the map.
  113.  
  114. Nodes:
  115.  
  116.    This is another internal structure (a Binary Space Partition tree) used
  117. by Doom to figure out which walls are behind which, so it can skip 
  118. drawing certain walls and be the fast game we all love.  I don't really 
  119. know how it uses it for this purpose, but it does.  Because I don't know 
  120. this, though, DMapEdit doesn't use it in any way, just like the 
  121. blockmap.  So, don't bother making nodes until when you make the blockmap.
  122.  
  123. Segments:
  124.  
  125.    A segment is simply a whole line or a piece of a line.  Segments are 
  126. tightly related with nodes, and created when nodes are created.  Node 
  127. generatation is automatic, and so you will probably never need to know 
  128. about segments.
  129.  
  130. Sub Sectors:
  131.  
  132.    Another internal structure tightly related with nodes.  It describes 
  133. a piece of a sector, in the shape of a convex polygon (less then or equal
  134. to 180 degrees bend between all lines, measured on the inside angle of the
  135. polygon).
  136.  
  137. Texture:
  138.  
  139.    A texture is an image that is projected onto a plane surface, just 
  140. like a slide projecter projects an image on a screen.  So why is it 
  141. called a texture then?  Because that's what id calls it, and I'm going 
  142. along with their terms.  The use of the word texture goes back before 
  143. that, though.  I guess because before texture-mapping, walls looked flat 
  144. and boring.  When an image is projected on that wall, though, it can 
  145. seem to have a lot of texture to it then.  So, it's actually a visual 
  146. texture, and not a surface texture.
  147.  
  148. PWAD:
  149.  
  150.    A PWAD (also known as a 'working wad file'), is a collection of data 
  151. files all combined into one file, with extention WAD.  The file DOOM.WAD 
  152. is an IWAD file, however.  Both are WADs.  IWAD probably stands for
  153. Initial WAD, while PWAD stands for Patched WAD.  The first 4 bytes of a
  154. WAD file will be IWAD or PWAD, thus identifying it's WAD type.  Basically,
  155. when you play doom with a PWAD file, it will try to get any data it need
  156. from the PWAD, and if it can't find something, it will load it from the
  157. IWAD instead.  DMapEdit only saves out PWADs, since only id software has 
  158. the right to use an IWAD header for a WAD.
  159.  
  160. E1M1:
  161.  
  162.    This is just map notation for the episode and mission numbers. 
  163. (episode 1, mission 1 in this case).  This happens to be the way a 
  164. header looks in the wad file, and is just an abbriviation, really.  I 
  165. will often call this the 'map position'.
  166.  
  167. Object:
  168.  
  169.    An object is a Thing, Vertex, Line, Sidedef, or Sector.  Objects are 
  170. the building blocks the user has to make maps with.
  171.  
  172. ---
  173.  
  174. To build maps properly, a map maker needs to understand how the various
  175. map elements work and inter-relate.
  176.  
  177. Objects can be broken up into 2 groups: Things and non-Things.  This is 
  178. because all non-things tend to inter-relate with each other, while 
  179. Things don't inter-relate to anything.  This gives Things a certain
  180. advantage.  Things can be edited completely independently of non-Things.
  181. If you are in